package com.project.common.utils;

/**
 * Created by TAO on 2015/9/28.
 */
public class Constants {

    public enum DATEFORMAT {//日期时间格式
        DATETIME("yyyy-MM-dd HH:mm:ss"), DATE("yyyy-MM-dd");
        private final String value;

        private DATEFORMAT(String value) {
            this.value = value;
        }

        public String value() {
            return this.value;
        }
    }

    ;


    //    public enum USERGRANTFLAG{//用户授权,1-授权，2-撤销授权
//       YES(1), NO(2);
//        private final int value;
//        private USERGRANTFLAG(int value)
//        {
//            this.value=value;
//        }
//        public int value() {
//            return this.value;
//        }
//    };
//
    public enum USERSTATE {//用户状态,1-待审核，2-审核通过, 3-被禁用
        WAIT(1), PASS(2), NOPASS(3);
        private final int value;

        USERSTATE(int value) {
            this.value = value;
        }

        public int value() {
            return this.value;
        }
    }

    public enum STUDENTSTATE {//学生实习状态,1 - 未实习，2 - 实习申请中（当前未在实习），3 - 实习中，4 - 实习变更申请中（当前仍在实习），-1 - 已经毕业
        NO(1), APPLY(2), ING(3), CHANGE(4), GRADUATE(-1);
        private final int value;

        STUDENTSTATE(int value) {
            this.value = value;
        }

        public int value() {
            return this.value;
        }
    }

    public enum ORGATTR {//实习单位类别,1 - 以前实习的单位，2 - 现在实习的单位，3 - 想要去实习的单位
        LAST(1), NOW(2), WANT(3);
        private final int value;

        ORGATTR(int value) {
            this.value = value;
        }

        public int value() {
            return this.value;
        }
    }

//
//    public enum SPCHECKSTATE {//SP审核状态：1-审核通过，2-审核未通过，3-等待审核
//        PASS(1), NOPASS(2), WAIT(3);
//        private final int value;
//        private SPCHECKSTATE(int value)
//        {
//            this.value=value;
//        }
//        public int value() {
//            return this.value;
//        }
//    };
//
//    public enum SPONLINESTATE {//SP上线状态：1-上线，2-下线，3-开发状态
//        ONLINE(1), OFFLINE(2), DEVELOPMENT(3);
//        private final int value;
//        private SPONLINESTATE(int value)
//        {
//            this.value=value;
//        }
//        public int value() {
//            return this.value;
//        }
//    };

    public enum USERTYPE {

        /**
         * 教师
         */
        TEACHER(1),
        /**
         * 学生
         */
        STUDENT(2),
        /**
         * 行政人员
         */
        MAGFACULTY(3),
        /**
         * 企业管理员
         */
        ORG(4),
        /**
         * 系统管理员
         */
        SYSTEM(5),
        /**
         * 学院管理员（维护学院基础数据）
         */
        SCHOOL(6);

        private final int value;

        USERTYPE(int value) {
            this.value = value;
        }


        public int value() {
            return this.value;
        }

        public static USERTYPE stateOf(int index) {
            for (USERTYPE usertype : values()) {
                if (usertype.value() == index) {
                    return usertype;
                }
            }
            return null;
        }
    }

//    public enum USERCATEGORY {//用户类型,1-管理平台用户；2-终端用户；3-SP用户
//        PLATFORM(1), ENDPOINT(2),SP(3);
//        private final int value;
//        private USERCATEGORY(int value)
//        {
//            this.value=value;
//        }
//        public int value() {
//            return this.value;
//        }
//    };

//    public enum SPCATEGORY {//1：confidential，2：public，与OAuth2.0协议一致，默认值是1
//        CONFIDENTIAL(1), PUBLIC(2);
//        private final int value;
//        private SPCATEGORY(int value)
//        {
//            this.value=value;
//        }
//        public int value() {
//            return this.value;
//        }
//    };

    /**
     * USER与SP关联的状态
     * 1-用户提出申请，等待SP审核
     * 2-SP审核通过
     * 3-SP审核不通过
     * 4-SP阻止
     */
//    public enum USERSPSTATE {
//        WAIT(1), PASS(2), NOPASS(3), STOP(4);
//        private final int value;
//        private USERSPSTATE(int value)
//        {
//            this.value=value;
//        }
//        public int value() {
//            return this.value;
//        }
//    };

//    public enum DATAOPINFO {//数据操作提示信息
//        ADDSUCCESS ("数据添加成功。"),
//        ADDERROR ( "error：数据添加失败。"),
//        EDITSUCCESS ( "数据修改成功。"),
//        EDITERROR ( "error：数据修改失败。"),
//        DELSUCCESS("数据删除成功。"),
//        DELERROR("数据删除失败。"),
//        USERENABLESUCCESS("账号启用成功。"),
//        USERENABLEERROR("error：账号启用失败。"),
//        USEREDISABLESUCCESS("账号禁用成功。"),
//        USEREDISABLEERROR("error：账号禁用失败。"),
//        SPONLINESUCCESS("SP上线成功。"),
//        SPONLINEERROR("error：SP上线失败。"),
//        SPOFFLINESUCCESS("SP下线成功。"),
//        SPOFFLINEERROR("error：SP下线失败。")   ,
//        USERCREATESUCCESS("用户创建成功。"),
//        USERCREATEERROR("error：用户创建失败。"),
//        EDITPASSWORDSUCCESS("密码修改成功"),
//        EDITPASSWORDERROR("密码修改失败")
//        ;
//        private final String value;
//        private DATAOPINFO(String value)
//        {
//            this.value=value;
//        }
//        public String value() {
//            return this.value;
//        }
//    };

    /**
     * 实习类型
     */
    public enum INTERNTYPE {

        /**
         * 基地集中实习
         */
        BASE(1),

        /**
         * 校内实训实习
         */
        IN_CAMPUS(2),

        /**
         * 自主分散实习
         */
        DISCIPLINE(3),

        /**
         * 学生创业实践
         */
        ENTREPRENEURSHIP(4);



        private final int value;

        INTERNTYPE(int value) {
            this.value = value;
        }


        public int value() {
            return this.value;
        }

        public static INTERNTYPE stateOf(int index) {
            for (INTERNTYPE interntype : values()) {
                if (interntype.value() == index) {
                    return interntype;
                }
            }
            return null;
        }
    }

}
